package regexp;

import regexp.utils.RegExpFind;

/**
 * @author DCSGO
 * @version 1.0
 * 定位符
 * 规定要匹配的字符串出现的位置,比如在字符串的开始还是在结束的位置
 * 这个也是相当有用的，必须掌握
 */
public class Regexp06 {
    public static void main(String[] args) {
        //^ 指定起始字符
        //^[0-9]+[a-z]* 以至少一个数字开头 0到多个小写字母结尾
        RegExpFind.printFind("123abc", "^[0-9]+[a-z]*");
        /*
         * ^[0-9]+[a-z]*匹配到：
         * 123abc
         */
        RegExpFind.printFind("a123abc", "^[0-9]+[a-z]*");
        /*
         * ^[0-9]+[a-z]*匹配到：
         *
         */
        RegExpFind.printFind("a123abc123abc", "^[0-9]+[a-z]*");
        /*
         * ^[0-9]+[a-z]*匹配到：
         *
         */
        RegExpFind.printFind("a123abc 123abc", "^[0-9]+[a-z]*");
        /*
         * ^[0-9]+[a-z]*匹配到：
         *
         */

        //$ 指定结束字符
        //^[0-9]+[a-z]+$ 以至少一个数字开头，至少一个小写字母结尾
        RegExpFind.printFind("1a", "^[0-9]+[a-z]+$");
        /*
         * ^[0-9]+[a-z]+$匹配到：
         * 1a
         */
        RegExpFind.printFind("1a1a", "^[0-9]+[a-z]+$");
        /*
         * ^[0-9]+[a-z]+$匹配到：
         *
         */
        //^[0-9]+\\-[a-z]+& 以至少一个数字开头并以至少一个小写字母结尾他们中间用 - 连接
        RegExpFind.printFind("123-abcd 1-a", "^[0-9]+\\-[a-z]+$");
        /*
         * ^[0-9]+\-[a-z]+$匹配到：
         *
         */
        RegExpFind.printFind("123-abcd", "^[0-9]+\\-[a-z]+$");
        /*
         * ^[0-9]+\-[a-z]+&匹配到：
         * 123-abcd
         */

        // \\b 匹配目标字符串的边界(空格分隔的字符串的末尾视为边界)
        RegExpFind.printFind("dcsgo csgo csgonice", "csgo\\b");
        /*
         * csgo\b匹配到：
         * csgo csgo
         */

        // \\B 匹配目标字符串的非边界
        RegExpFind.printFind("dcsgo csgo csgonice", "csgo\\B");
        /*
         * csgo\B匹配到：
         * csgo
         */
    }
}
